import { urlEnCode } from './urlEnCode';
/**
 * 如果参数值为空，则返回原始 URL；否则追加或替换 URL 参数
 * @param url 原始 URL
 * @param key 参数名
 * @param value 参数值
 * @returns 追加或替换参数后的 URL
 */
export function appendUrlParams(url: string, key: string, value: string): string {
  if (!value) {
    return url;
  }
  const encodedValue = urlEnCode(value); // 使用 urlEnCode 对值进行编码
  const re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
  const separator = url.indexOf("?") !== -1 ? "&" : "?";
  if (url.match(re)) {
    return url.replace(re, "$1" + key + "=" + encodedValue + "$2");
  } else {
    return url + separator + key + "=" + encodedValue;
  }
}
export default appendUrlParams;
